// console.log(1)
// console.log(2)
// console.log(3)
// console.log(4)
// console.log(100)

// for (初始化语句; 循环条件; 迭代增量) {
// 	循环体
// } 
// for (var i = 0; i <= 2; i++) {
//     console.log('循环')
// }
//第一次：i=0,满足 i<=2 ,执行{}里面的语句，执行以后,i++,i=1
//第二次：i=1,满足 i<=2 ,执行{}里面的语句，执行以后,i++,i=2
//第三次：i=2,满足 i<=2 ,执行{}里面的语句，执行以后,i++,i=3
//第四次：i=3,不满足 i<=2，跳出循环

//for循环()里面的条件都可以不写，但是要在其他地方对这个循环进行约束，不要让循环陷入死循环。
// var j = 0
// for (; ; ) {
//     if(j>2){
//         console.log('跳出循环')
//         break
//     }
//     console.log('j循环')
//     j++
// }
//用for循环打印1-100
// for(var i = 1;i<=100;i++){
//     console.log(i)
// }

//打印1-100的偶数
// for(var i=1;i<=100;i++){
//     if(i%2 == 0){
//         console.log(i)
//     }
// }
// for(var i=1;i<=100;i++){
//     if(i%2 == 1){
//         console.log(i)
//     }
// }
// var j = 1
// while( j<=10){
//     console.log(j)
//     j++
// }

//打印1-100的偶数，用while
// var k = 1;
// while(k<=100){
//     if(k%2 == 0){
//         console.log(k)
//     }
//     k++
// }

var p = 2
do {
    console.log('haha')
    p++
} while (p <= 10)
// while( p > 3){
//     console.log('haha')
// }
// while: 判断条件->执行语句->判断条件->执行语句->
//do-while：执行语句->判断条件->执行语句->判断条件
// 水仙花数是指一个 3 位数，它的每个位上的数字的 3次幂之和等于它本身（例如：1^3 + 5^3+ 3^3 = 153），找出所有的水仙花数
100 - 999
// for (var i = 100; i <= 999; i++) {
//     var gw = i % 10
//     var sw = (i % 100 - gw) / 10
//     // var sw = parseInt(234 %100/10 )
//     var bw = (i - sw * 10 - gw) / 100
//     // var bw = parseInt(i/100)
//     if (gw ** 3 + sw ** 3 + bw ** 3 == i) {
//         console.log(i + '是水仙花数')
//     }
// }
//234 2*2*2+3*3*3+4*4*4 = 234  2**3
// 1.循环的开始和结束
// 2.提取当前循环的数字的个位，十位，百位
// 3.判断是否满足实现条件 个位^3 + 十位^3 + 百位^3 = 这个数字
//提示 x = 43提取个位和十位，个位 = x % 10， 十位 = (x - 个位)/10 

var num = 100
while (num <= 999) {
    var gw = num % 10
    var sw = (num % 100 - gw) / 10
    var bw = (num - sw * 10 - gw) / 100
    if (gw ** 3 + sw ** 3 + bw ** 3 == num) {
        console.log(num + '是水仙花数')
    }
    num++
}
